import { CreateElement } from 'vue';

export interface ModalConfig {
  /**
   * 标题或者Element选择器字符串
   */
  title?: string;
  /**
   * 内容或者Element选择器字符串
   */
  content?: string;
  icon?: string;
  /**
   * 自定义内容，使用后不再限制类型， content 也无效。
   * @param h Render函数
   */
  render?: (h?: CreateElement) => void;
  /**
   * 宽度，单位 px
   * @default 416
   */
  width?: number | string;
  /**
   * 确定按钮的文字
   * @default 确定
   */
  okText?: string;
  /**
   * 取消按钮的文字，只在Modal.confirm()下有效
   * @default 取消
   */
  cancelText?: string;
  /**
   * 点击确定按钮时，确定按钮是否显示 loading 状态，开启则需手动调用Modal.remove()来关闭对话框
   * @default false
   */
  loading?: boolean;
  /**
   * 页面是否可以滚动
   * @default false
   */
  scrollable?: boolean;
  /**
   * 页面是否可以滚动
   * @default false
   */
  closable?: boolean;
  /**
   * 点击确定的回调
   */
  onOk?: () => void;
  /**
   * 点击取消的回调，只在Modal.confirm()下有效
   */
  onCancel?: () => void;
}
